﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ExpenseSystem.Common.BaseModel
{
    public abstract class NormalModel:SuperModel
    {
        private long _site;
        private string _approver;
        private string _confirmed;
        private string _approveddate;
        private string _confirmeddate;
        private int _state;
        private string _define1;
        private string _define2;
        private string _define3;
        private string _define4;
        private string _define5;
        private float _define6;
        private float _define7;
        private float _define8;
        private float _define9;
        private float _define10;
        public virtual long Site
        {
            get { return _site; }
            set
            {
                _site = value;
                if (!PropertyUpdated.Contains("Site"))
                    PropertyUpdated.Add("Site");
            }
        }
        public virtual int State
        {
            get { return _state; }
            set
            {
                _state = value;
                if (!PropertyUpdated.Contains("State"))
                    PropertyUpdated.Add("State");
            }
        }
        public virtual string ApprovedDate
        {
            get { return _approveddate; }
            set
            {
                if (_approveddate == value)
                    return;
                _approveddate = value;
                if (!PropertyUpdated.Contains("ApprovedDate"))
                    PropertyUpdated.Add("ApprovedDate");
            }
        }
        public virtual string Approver
        {
            get { return _approver; }
            set
            {
                if (_approver == value)
                    return;
                _approver = value;
                if (!PropertyUpdated.Contains("Approver"))
                    PropertyUpdated.Add("Approver");
            }
        }
        public virtual string Confirmed
        {
            get { return _confirmed; }
            set
            {
                if (_confirmed == value)
                    return;
                _confirmed = value;
                if (!PropertyUpdated.Contains("Confirmed"))
                    PropertyUpdated.Add("Confirmed");
            }
        }
        public virtual string ConfirmedDate
        {
            get { return _confirmeddate; }
            set
            {
                if (_confirmeddate == value)
                    return;
                _confirmeddate = value;
                if (!PropertyUpdated.Contains("ConfirmedDate"))
                    PropertyUpdated.Add("ConfirmedDate");
            }
        }

        public virtual string Define1
        {
            get { return _define1; }
            set
            {
                if (_define1 == value)
                    return;
                _define1 = value;
                if (!PropertyUpdated.Contains("Define1"))
                    PropertyUpdated.Add("Define1");
            }
        }

        public virtual string Define5
        {
            get { return _define5; }
            set
            {
                if (_define5 == value)
                    return;
                _define5 = value;
                if (!PropertyUpdated.Contains("Define5"))
                    PropertyUpdated.Add("Define5");
            }
        }
        public virtual string Define2
        {
            get { return _define2; }
            set
            {
                if (_define2 == value)
                    return;
                _define2 = value;
                if (!PropertyUpdated.Contains("Define2"))
                    PropertyUpdated.Add("Define2");
            }
        }
        public virtual string Define3
        {
            get { return _define3; }
            set
            {
                if (_define3 == value)
                    return;
                _define3 = value;
                if (!PropertyUpdated.Contains("Define3"))
                    PropertyUpdated.Add("Define3");
            }
        }
        public virtual string Define4
        {
            get { return _define4; }
            set
            {
                if (_define4 == value)
                    return;
                _define4 = value;
                if (!PropertyUpdated.Contains("Define4"))
                    PropertyUpdated.Add("Define4");
            }
        }

        public virtual float Define6
        {
            get { return _define6; }
            set
            {
                if (_define6 == value)
                    return;
                _define6 = value;
                if (!PropertyUpdated.Contains("Define6"))
                    PropertyUpdated.Add("Define6");
            }
        }

        public virtual float Define7
        {
            get { return _define7; }
            set
            {
                if (_define7 == value)
                    return;
                _define7 = value;
                if (!PropertyUpdated.Contains("Define7"))
                    PropertyUpdated.Add("Define7");
            }
        }
        public virtual float Define8
        {
            get { return _define8; }
            set
            {
                if (_define8 == value)
                    return;
                _define8 = value;
                if (!PropertyUpdated.Contains("Define8"))
                    PropertyUpdated.Add("Define8");
            }
        }
        public virtual float Define9
        {
            get { return _define9; }
            set
            {
                if (_define9 == value)
                    return;
                _define9 = value;
                if (!PropertyUpdated.Contains("Define9"))
                    PropertyUpdated.Add("Define9");
            }
        }
        public virtual float Define10
        {
            get { return _define10; }
            set
            {
                if (_define10 == value)
                    return;
                _define10 = value;
                if (!PropertyUpdated.Contains("Define10"))
                    PropertyUpdated.Add("Define10");
            }
        }
    }
}
